[INFO] fetching crate malstrom 0.1.0...
[INFO] fixing malstrom-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate malstrom 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate malstrom 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate malstrom 0.1.0
[INFO] tweaked toml for crates.io crate malstrom 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate malstrom 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate malstrom 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e
[INFO] running `Command { std: "docker" "start" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling prettyplease v0.2.36
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking proptest v1.7.0
[INFO] [stderr]    Compiling darling_core v0.21.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]    Compiling darling_macro v0.21.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling darling v0.21.0
[INFO] [stderr]    Compiling bon-macros v3.6.5
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking bon v3.6.5
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking expiremap v0.1.0-beta.3
[INFO] [stderr]     Checking malstrom v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/operators/time/generate_epochs.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/coordinator/coordinator.rs:134:84
[INFO] [stdout]      |
[INFO] [stdout]  133 |         tokio::time::sleep(snapshot_interval).await;
[INFO] [stdout]      |         -------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  134 |         match CoordinatorRequest::send(RequestOperation::Snapshot, req_tx.clone()).await {
[INFO] [stdout]      |               ---------------------------------------------------------------------^^^^^
[INFO] [stdout]      |               |                                                                    |
[INFO] [stdout]      |               |                                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  144 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/coordinator/coordinator.rs:274:13
[INFO] [stdout]      |
[INFO] [stdout]  273 |           if let Ok(Ok(req)) =
[INFO] [stdout]      |                        ---
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        `req` calls a custom destructor
[INFO] [stdout]      |                        `req` will be dropped later as of Edition 2024
[INFO] [stdout]  274 |               tokio::time::timeout(Duration::from_millis(100), requests.recv_async()).await
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                                       |
[INFO] [stdout]      |               |                                                                       this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |               |                                                                       up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |               up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  277 |               let _guard = match coordinator_status
[INFO] [stdout]      |  _________________------_________-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `_guard` calls a custom destructor
[INFO] [stdout]      | |                 `_guard` will be dropped later as of Edition 2024
[INFO] [stdout]  278 | |                 .set_status(CoordinatorStatus::from(req.request))
[INFO] [stdout]  279 | |                 .await
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                       perform_snapshot_all(&state, next_version).await;
[INFO] [stdout]      |                       ------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  291 |
[INFO] [stdout]  292 |                       let serialized_state = serialize_state(&state.get_serializable().await);
[INFO] [stdout]      |                                                               ------------------------------
[INFO] [stdout]      |                                                               |
[INFO] [stdout]      |                                                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |                       persistence_backend = tokio::runtime::Handle::current()
[INFO] [stdout]      |                                             ---------------------------------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |  ___________________________________________`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      | |
[INFO] [stdout]  294 | |                         .spawn_blocking(move || {
[INFO] [stdout]  295 | |                             persistence_backend
[INFO] [stdout]  296 | |                                 .for_version(COORDINATOR_ID, &next_version)
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         })
[INFO] [stdout]  301 | |                         .await?;
[INFO] [stdout]      | |                          ------
[INFO] [stdout]      | |__________________________|___||
[INFO] [stdout]      | |__________________________|___|this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |__________________________|___|`#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                            |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                            `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  309 | /                         perform_reconfig_all(&mut state, new_config, &communication_backend)
[INFO] [stdout]  310 | |                             .await?;
[INFO] [stdout]      | |                              ------
[INFO] [stdout]      | |______________________________|___||
[INFO] [stdout]      | |______________________________|___|this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |______________________________|___|`#11` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                |   `#12` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 | |                     perform_suspend_all(&mut state).await;
[INFO] [stdout]      | |                     -------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  325 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]      |
[INFO] [stdout]  481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]      |
[INFO] [stdout]  481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/mod.rs:566:1
[INFO] [stdout]      |
[INFO] [stdout]  566 | impl<S: 'static> Drop for UnownedTask<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/queue.rs:568:1
[INFO] [stdout]      |
[INFO] [stdout]  568 | impl<T> Drop for Local<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/mod.rs:556:1
[INFO] [stdout]      |
[INFO] [stdout]  556 | impl<S: 'static> Drop for Task<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:351:1
[INFO] [stdout]      |
[INFO] [stdout]  351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Logic<K, VI, T, K, VO, T>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/operators/stateful_op.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 | ) -> impl Logic<K, VI, T, K, VO, T> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/operators/stateful_op.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |     context: &BuildContext,
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/operators/stateful_op.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 113 |     mut logic: impl StatefulLogic<K, VI, T, VO, S>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 ~ , U: StatefulLogic<K, VI, T, VO, S>>(
[INFO] [stdout] 112 |     context: &BuildContext,
[INFO] [stdout] 113 ~     mut logic: U,
[INFO] [stdout] 114 ~ ) -> impl Logic<K, VI, T, K, VO, T> + use<K, VI, T, VO, S, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/ttl_map_example.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/coordinator/coordinator.rs:134:84
[INFO] [stdout]      |
[INFO] [stdout]  133 |         tokio::time::sleep(snapshot_interval).await;
[INFO] [stdout]      |         -------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  134 |         match CoordinatorRequest::send(RequestOperation::Snapshot, req_tx.clone()).await {
[INFO] [stdout]      |               ---------------------------------------------------------------------^^^^^
[INFO] [stdout]      |               |                                                                    |
[INFO] [stdout]      |               |                                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  144 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/coordinator/coordinator.rs:274:13
[INFO] [stdout]      |
[INFO] [stdout]  273 |           if let Ok(Ok(req)) =
[INFO] [stdout]      |                        ---
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        `req` calls a custom destructor
[INFO] [stdout]      |                        `req` will be dropped later as of Edition 2024
[INFO] [stdout]  274 |               tokio::time::timeout(Duration::from_millis(100), requests.recv_async()).await
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                                       |
[INFO] [stdout]      |               |                                                                       this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |               |                                                                       up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |               up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  277 |               let _guard = match coordinator_status
[INFO] [stdout]      |  _________________------_________-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `_guard` calls a custom destructor
[INFO] [stdout]      | |                 `_guard` will be dropped later as of Edition 2024
[INFO] [stdout]  278 | |                 .set_status(CoordinatorStatus::from(req.request))
[INFO] [stdout]  279 | |                 .await
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                       perform_snapshot_all(&state, next_version).await;
[INFO] [stdout]      |                       ------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  291 |
[INFO] [stdout]  292 |                       let serialized_state = serialize_state(&state.get_serializable().await);
[INFO] [stdout]      |                                                               ------------------------------
[INFO] [stdout]      |                                                               |
[INFO] [stdout]      |                                                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |                       persistence_backend = tokio::runtime::Handle::current()
[INFO] [stdout]      |                                             ---------------------------------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |  ___________________________________________`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      |  ___________________________________________|
[INFO] [stdout]      | |
[INFO] [stdout]  294 | |                         .spawn_blocking(move || {
[INFO] [stdout]  295 | |                             persistence_backend
[INFO] [stdout]  296 | |                                 .for_version(COORDINATOR_ID, &next_version)
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         })
[INFO] [stdout]  301 | |                         .await?;
[INFO] [stdout]      | |                          ------
[INFO] [stdout]      | |__________________________|___||
[INFO] [stdout]      | |__________________________|___|this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |__________________________|___|`#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                            |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                            `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  309 | /                         perform_reconfig_all(&mut state, new_config, &communication_backend)
[INFO] [stdout]  310 | |                             .await?;
[INFO] [stdout]      | |                              ------
[INFO] [stdout]      | |______________________________|___||
[INFO] [stdout]      | |______________________________|___|this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |______________________________|___|`#11` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                |   `#12` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 | |                     perform_suspend_all(&mut state).await;
[INFO] [stdout]      | |                     -------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  325 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]      |
[INFO] [stdout]  481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]      |
[INFO] [stdout]  481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/coordinator/coordinator.rs:554:1
[INFO] [stdout]      |
[INFO] [stdout]  554 | impl Drop for CoordinatorStatusGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/mod.rs:566:1
[INFO] [stdout]      |
[INFO] [stdout]  566 | impl<S: 'static> Drop for UnownedTask<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/queue.rs:568:1
[INFO] [stdout]      |
[INFO] [stdout]  568 | impl<T> Drop for Local<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/mod.rs:556:1
[INFO] [stdout]      |
[INFO] [stdout]  556 | impl<S: 'static> Drop for Task<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:351:1
[INFO] [stdout]      |
[INFO] [stdout]  351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/keyed/distributed.rs:401:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut tester = OperatorTester::built_by(
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tester` calls a custom destructor
[INFO] [stdout]     |             `tester` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 401 |         match tester.recv_local() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 405 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `tester` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `tester` invokes this custom destructor
[INFO] [stdout]    --> src/channels/spsc.rs:89:1
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/operators/stateful_op.rs:355:15
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let mut tester: OperatorTester<i32, String, NoTime, i32, String, NoTime, ()> =
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tester` calls a custom destructor
[INFO] [stdout]     |             `tester` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |         match tester.recv_local().unwrap() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `tester` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `tester` invokes this custom destructor
[INFO] [stdout]    --> src/channels/spsc.rs:89:1
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Logic<K, VI, T, K, VO, T>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/operators/stateful_op.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 | ) -> impl Logic<K, VI, T, K, VO, T> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/operators/stateful_op.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |     context: &BuildContext,
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/operators/stateful_op.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 113 |     mut logic: impl StatefulLogic<K, VI, T, VO, S>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 ~ , U: StatefulLogic<K, VI, T, VO, S>>(
[INFO] [stdout] 112 |     context: &BuildContext,
[INFO] [stdout] 113 ~     mut logic: U,
[INFO] [stdout] 114 ~ ) -> impl Logic<K, VI, T, K, VO, T> + use<K, VI, T, VO, S, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/stateful_program_multiple_keys.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_stateless_operator.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/look_ma_im_streaming.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/file_source_stateless.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/event_time_out_of_order.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/keyed_streams.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/rescaling.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/file_source_stateful.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/event_time.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/basic_operators.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/joining_streams.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_stateful_operator.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/multithreading.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/file_sink_stateful.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/split_streams.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/cloned_streams.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/stateful_programs.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/basic_noop.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/file_sink_stateless.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.25s
[INFO] [stderr] crater-edition-check: malstrom v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking malstrom v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:100:61
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let op = OperatorBuilder::built_by(name, move |ctx| build_stateful_logic(ctx, logic));
[INFO] [stdout]     |                                                        ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                                        |  |
[INFO] [stdout]     |                                                        |  return type of closure `impl Logic<K, VI, T, K, VO, T>` contains a lifetime `'2`
[INFO] [stdout]     |                                                        has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:100:61
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let op = OperatorBuilder::built_by(name, move |ctx| build_stateful_logic(ctx, logic));
[INFO] [stdout]     |                                                        ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                                        |  |
[INFO] [stdout]     |                                                        |  return type of closure `impl Logic<K, VI, T, K, VO, T>` contains a lifetime `'4`
[INFO] [stdout]     |                                                        has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `malstrom` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:100:61
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let op = OperatorBuilder::built_by(name, move |ctx| build_stateful_logic(ctx, logic));
[INFO] [stdout]     |                                                        ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                                        |  |
[INFO] [stdout]     |                                                        |  return type of closure `impl Logic<K, VI, T, K, VO, T>` contains a lifetime `'2`
[INFO] [stdout]     |                                                        has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:100:61
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let op = OperatorBuilder::built_by(name, move |ctx| build_stateful_logic(ctx, logic));
[INFO] [stdout]     |                                                        ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                                        |  |
[INFO] [stdout]     |                                                        |  return type of closure `impl Logic<K, VI, T, K, VO, T>` contains a lifetime `'4`
[INFO] [stdout]     |                                                        has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:186:49
[INFO] [stdout]     |
[INFO] [stdout] 186 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 0, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:186:49
[INFO] [stdout]     |
[INFO] [stdout] 186 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 0, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 0, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 0, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:263:49
[INFO] [stdout]     |
[INFO] [stdout] 263 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:263:49
[INFO] [stdout]     |
[INFO] [stdout] 263 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:306:49
[INFO] [stdout]     |
[INFO] [stdout] 306 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:306:49
[INFO] [stdout]     |
[INFO] [stdout] 306 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:346:49
[INFO] [stdout]     |
[INFO] [stdout] 346 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, String, types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:346:49
[INFO] [stdout]     |
[INFO] [stdout] 346 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, String, types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:382:49
[INFO] [stdout]     |
[INFO] [stdout] 382 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<bool, i32, types::time::NoTime, bool, i32, types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:382:49
[INFO] [stdout]     |
[INFO] [stdout] 382 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<bool, i32, types::time::NoTime, bool, i32, types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:424:49
[INFO] [stdout]     |
[INFO] [stdout] 424 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<bool, i32, types::time::NoTime, bool, i32, types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:424:49
[INFO] [stdout]     |
[INFO] [stdout] 424 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<bool, i32, types::time::NoTime, bool, i32, types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:445:49
[INFO] [stdout]     |
[INFO] [stdout] 445 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'2`
[INFO] [stdout]     |                                            has type `&'1 mut BuildContext<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/operators/stateful_op.rs:445:49
[INFO] [stdout]     |
[INFO] [stdout] 445 |             OperatorTester::built_by(move |ctx| build_stateful_logic(ctx, logic), 0, 42, 0..1);
[INFO] [stdout]     |                                            ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'3` must outlive `'4`
[INFO] [stdout]     |                                            |  |
[INFO] [stdout]     |                                            |  return type of closure `impl Logic<i32, String, types::time::NoTime, i32, (), types::time::NoTime>` contains a lifetime `'4`
[INFO] [stdout]     |                                            has type `&mut BuildContext<'3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `malstrom` (lib test) due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e", kill_on_drop: false }`
[INFO] [stdout] 4bc2b5d7fa34a85f66f424a7ddfa9204ef71e5d3571b6cdc0343c46e9e70418e
